package com.lam.schedule.service;

import java.util.List;

import com.lam.common.components.easyexcel.imp.model.ImportWrapper;
import com.lam.schedule.entity.QrtzJobSchedilerState;
import com.lam.schedule.entity.ScheduleJob;
import com.lam.schedule.entity.imp.ScheduleJobImp;
import com.lam.schedule.param.ScheduleJobParam;

/**
 * 定时调度Service接口
 * 
 * @author admin
 * @date 2022-07-18
 */
public interface ScheduleJobService {
	
	public List<QrtzJobSchedilerState> nodeDetailList(String id);

    /**
     * 查询定时调度
     * 
     * @param id 定时调度ID
     * @return 单个对象
     */
    public ScheduleJob selectById(String id);

    /**
     * 查询定时调度列表
     * 
     * @param param 
     * @return 列表集合
     */
    public List<ScheduleJob> selectList(ScheduleJobParam param);

    /**
     * 新增定时调度
     * 
     * @param scheduleJob 
     * @return 
     */
    public int insert(ScheduleJob scheduleJob);

    /**
     * 修改定时调度
     * 
     * @param scheduleJob 
     * @return 
     */
    public int update(ScheduleJob scheduleJob);

    /**
     * 删除定时调度信息
     * 
     * @param id ID
     * @return 
     */
    public int deleteById(String id);
    
    /**
     * 导入数据
     * @param wrapper 数据包装对象
     */
    public void importData(ImportWrapper<ScheduleJobImp, ScheduleJob> wrapper);
    
	/**
	 * 立即执行
	 * @param id
	 * @return
	 */
	int execute(String id);

	int active(ScheduleJob scheduleJob);

}
